(function() {
    // 模板类型
    const TemplateType = {
        // 报表类型
        Report: 0,
        // 物流类型
        Express: 1
    };

    // 节点类型
    const NodeType = {
        // 字段
        Field: 0,
        // 标签
        Label: 1,
        // 条码
        Barcode: 2,
        // 二维码
        Qrcode: 3,
        // 图片
        Image: 4,
        // 列
        Colunm: 5
    };

    // 节点
    Node = function(node) {
        switch (node.type) {
            case NodeType.Field:
                break;
            case NodeType.Label:
                break;
            case NodeType.Barcode:
                break;
            case NodeType.Qrcode:
                break;
            case NodeType.Image:
                break;
            case NodeType.Colunm:
                break;
        }
    }
    Node.prototype = {
        Render: function() {

        }
    };

    // 模板
    var template = new Object();
    Template = function(temp) { template = temp; }
    Template.prototype = {
        // 校验模板
        Check: function() {
            return true;
        },

        // 渲染模板[JSON->Html]
        Render: function(div) {
            var designer = $("#designer")
                .css("width", `${template.size.width}mm`)
                .css("height", `${template.size.height}mm`)
                .css("background-image", `url(${template.background})`);
            switch (template.type) {
                case TemplateType.Report:

                    break;
                case TemplateType.Express:
                    $(template.content.nodes).each(function() {
                        var node = new Node(this);
                    });
                    break;
            }
        },

        // 创建模板[Html->JSON]
        Create: function(designer) {

        },

        // 获取数据
        GetData: function() {
            return template;
        }
    };
})();